Incremental backup of files in a file system is a well-known technique for enabling recovery of files that have become corrupted or entirely lost from data storage due to disk drive failure or destruction from a disaster. The technique begins by performing a full backup of the file system by copying all of the files in the file system to backup storage such as magnetic tape. Then, at periodic intervals or when requested by a user, the file system is scanned for files that have changed since the last backup, and each file that has changed since the last backup is copied to the backup storage.
Typically the file system tree is scanned in a depth-first fashion, starting at the root directory, to find files that have changed since the last backup and to copy each of these changed files to the backup storage. For example, for each file visited during the depth-first scan, the time of the start of the scan for the last backup is compared to a modification time attribute (mtime) and a creation time attribute (ctime) to determine whether or not the file's data or metadata has been changed since the time of the last backup. If so, then the changed file is copied to the backup storage. The depth-first scan is continued until the entire file system tree is scanned. The incremental backup is finished when all of the changed files have been copied to the backup storage.